1. Field of the Invention
The present invention relates to an image processing apparatus, an image forming apparatus, an image processing system, and an image processing method, each of which causes identification information for identifying a reference image to be stored in a storage section in such a manner that the identification information is related to features of the reference image.
2. Description of the Related Art
There have been proposed various techniques for comparing input image data obtained by a scanner reading a document image with a preliminarily stored image so as to determine a similarity between the document image and the preliminarily stored image.
For example, Patent Document 1 (Japanese Unexamined Patent Publication No. 1995-282088 (Tokukaihei 7-282088; published on Oct. 27, 1995)) discloses a technique in which a descriptor is generated from features of an input document so that the descriptor is invariable to distortion caused by digitalization of the input document or to a difference between the input document and a matching document in a document database, the descriptor and a document including features from which the descriptor is extracted in the document database are stored in the descriptor database in such a manner that the descriptor and the document are related to each other, and matching between the input document and a document in the document database is performed using the descriptor database.
In the technique, when the descriptor database is scanned, votes for individual documents in the document database are accumulated, and a document with the largest number of votes obtained or a document whose number of votes obtained is over a certain threshold value is considered as a matching document.
However, the technique of Patent Document 1 is problematic in that, when a document stored in the descriptor database is deleted, a deleting process requires much time and puts an excessive workload on means for the deleting process, causing a decrease in system performance.
The following explains this problem in more detail. FIG. 31 is an explanatory drawing illustrating an example of a database in which features (descriptors) H1, H2, H3, H4, . . . and indices of reference images (preliminarily stored documents) are stored in such a manner that the features and the indices are related to each other.
As illustrated in FIG. 31, indices of reference images having been stored earlier are sequentially stored in a storage region where indices corresponding to features are stored. In general, plural feature quantities are extracted from one reference image. Therefore, one index is stored in such a manner that the index is related to plural features. Further, since common features may be extracted from different reference images, plural indices are related to one feature. Consequently, when a user wants to delete a specific index, the user must search the whole database so as to know what address and what position the specific address is stored in. For that reason, in a case where the number of indices for reference images stored in the database reaches the upper limit of the number of images storable in the database and deletion of an old index is requested to allow a new index to be stored, it is necessary to search a whole database to specify what address and what position the index to be deleted is stored in.
After specifying what address and what position the index to be deleted is stored in, it is necessary to perform, before deletion, a mask process on an address that is not to be deleted (such as formation of a mask signal indicating whether an address is to be deleted or not) so as to prevent wrong deletion. For example, in a case where deletion of ID0 to ID2047 is required in FIG. 31, it is necessary to perform the mask process on a region other than regions where ID0 to ID2047 are stored (colored regions in FIG. 31) before deleting ID0 to ID2047.
Consequently, deletion of indices for reference images stored in the database requires much time and puts on an excessive workload on means for controlling the deletion process. Further, since a system with a larger number of storable indices requires a database with a larger capacity, the system requires longer time for updating the database, causing a great decrease in system performance.